From 352b8cb70eefa60203d62eb69053d70b73d41042 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sun, 12 Mar 2023 08:23:16 +0100 Subject: [PATCH] columnview: Be more defensive I am not sure how we can have no listitem here, but better to be safe than sorry. Fixes: #5659 --- gtk/gtkcolumnlistitemfactory.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/gtk/gtkcolumnlistitemfactory.c b/gtk/gtkcolumnlistitemfactory.c index 8ddffc252c..94a1695caa 100644 --- a/gtk/gtkcolumnlistitemfactory.c +++ b/gtk/gtkcolumnlistitemfactory.c @@ -112,13 +112,19 @@ gtk_column_list_item_factory_update (GtkListItemFactory *factory, child; child = gtk_widget_get_next_sibling (child)) { + GtkListItem *cell_item; + gtk_list_item_widget_update (GTK_LIST_ITEM_WIDGET (child), gtk_list_item_get_position (list_item), gtk_list_item_get_item (list_item), gtk_list_item_get_selected (list_item)); - selectable &= gtk_list_item_get_selectable (gtk_list_item_widget_get_list_item (GTK_LIST_ITEM_WIDGET (child))); - activatable &= gtk_list_item_get_activatable (gtk_list_item_widget_get_list_item (GTK_LIST_ITEM_WIDGET (child))); + cell_item = gtk_list_item_widget_get_list_item (GTK_LIST_ITEM_WIDGET (child)); + if (cell_item) + { + selectable &= gtk_list_item_get_selectable (cell_item); + activatable &= gtk_list_item_get_activatable (cell_item); + } } /* This really does not belong here, but doing better -- 2.30.2